Course Information
๐ Course Information - studyguide & how to engage with this course
๐ขNOTE! This course is available with instructors and feedback on your work during the summer, but it can also be taken as a self-paced course whenever you like!
It is a great option if you feel you would benefit from some background knowledge about computer science and coding. You can select the topics that are most relevant to you, and complete the exercises and tutorials at your own pace.
The course breaks down common concepts and components with relatable, straightforward, step-by-step explanations. Itโs perfect for digging into details that are often glossed over or not fully explained in the world of computer science. It's designed to give you a broad overview of coding, computers, and the web, helping you see how everything fits together and giving you a solid foundation to dive into the details.
๐How to get started
Get familair with the course site & course structure:
- Navigate to the Home Page to understand the purpose of the course and the learning goals you are expected to achieve.
- Read this page to learn how to follow the course - how to engage with the material and how the course is set up.
- Get Slack. In the website menu, go to the webpage "Communication & Slack". Learn how we communicate during this course and follow the steps to set up Slack.
- Navigate to "Content Overview", to get an overview of the full course.
- Navigate to "Week 1 - Foundations of Computer Science" and get started.
๐Course Overview
Week 1 | Week 2 | Week 3 | Week 4 |
---|---|---|---|
Foundations of Computer Science | Core Computer Skills for Coders | What is code? | Networking & the Internet |
History, Context, Ethics | Programming Environments & Development Tools | Basic binary and building blocks | FrontEnd vs BackEnd & Client/Server model |
Mentality | The Terminal and Shells | What is a programming language? | Basic Datatypes & structures |
Hardware and software | File Systems | Logic | Functions |
Markdown | Version Control & Git |
๐ How to engage with the material
How to complete a week
For each week, there will be PDFs to read, videos to watch and tutorials.
Only engaing with part of the material won't provide the full course experienceโeach component is designed to complement the others.
- Read PDFs & watch videos
- Follow tutorials
- Download software & create accounts (if necessary)
- Complete exercises
๐ Reading
The course provides PDFs for reading material. They have more detailed and expanded information. These PDFs are written in a clear, beginner-friendly manner that simplifies complex ideas, and are designed to make it easy for beginners to understand the concepts. The examples and explanations provided are relatable, using everyday life references to ensure it's accessible to those with no prior experience. They offer an accessible overview and understanding of the topics, avoiding overly technical language. While the PDFs might seem long, but please don't be intimidated - this is because they break down difficult ideas for beginners and use visuals to enhance understanding.
๐บ Videos
The videos offer a broad overview, helping to contextualize and simplify challenging ideas, while the PDFs dive deeper with detailed explanations and thorough coverage of the topics. The videos are more conversational and relaxed, focusing on clarifying concepts and providing context rather than going through every point in the text. Since there are no slides or presentations, they're perfect for listening in the background as you absorb the material!
๐ฅ๏ธ Tutorials
The tutorials are designed for hands-on learning. Open the videos in one window and replicate the actions in another. Follow the steps as demonstrated, and feel free to replay sections if needed. Important: Iโm using a Windows computer and working with GitBash, which is available for both macOS and Windows (with Linux commands). Please note that your experience might vary if you're using a Mac or Linux system.
๐ฅ๏ธ Downloads & Accounts
For those enrolling in the summer course, you'll be guided through downloading and installing the necessary software to prepare for the fall semester and familiarize yourself with the tools you'll be using. Please follow the instructions to set up your environment properly. Additionally, you'll need to create private accounts on GitHub and Replit. These accounts will be for your personal use, allowing you to manage your projects and track your work efficiently.
NOTE: If youโre having trouble with setup, downloads, or anything similar, feel free to use the available resources for assistance!
๐๏ธ Exercises
The exercises are designed to provide hands-on practice and guide you on what to focus on. They are intentionally straightforward, with most steps already demonstrated in the tutorials. The goal of this course is to gently ease you into trying things out, helping you get your feet wet and become comfortable with the practical aspects! If you are having issues with the exercises, look at the tutorial for that topic, and ask your fellow students. Chances are that the tutorial demonstrates the steps you should be taking (with minor adjustments).
For those taking the summer course, submitting your work is a chance to receive feedback rather than a requirement for grading. Not completing an exercise wonโt impact your fall course or grades. The exercises are designed to help you focus on key areas, get familiar with tools you'll be using, and provide feedback on where you might need to improve. During the summer course, the exercises will be handed in on Github, and will consist of imagefiles of screenshots OR text uploaded to Github.
๐ OVERVIEW
The exercises are set up to get you familiar with key concepts, show you what's good to practice, and give you a chance to dive into some hands-on work - to give you an opportunity to get your feet wet. Those taking the summer course will get feedback - but it is not graded, and you do not pass/fail.
The exercises go through all topics from the different weeks, and mostly consist of hands-on projects (that you will be asked to screenshot and hand in for the summer course).
Some exercises will provide you with the commands needed for an action, while others won't. There's a reason for this. The idea is for you to start practicing googling solutions and asking ChatGPT for help. This skill is invaluable as a programmer - often, people around you might not have a solution to the problem, so it's up to you to work together to find one. This means searching online, asking questions on forums, and exploring other resources.
PLEASE DO NOT BE ALARAMED by the length of the PDF on exercises. IT IS NOT LONG BECAUSE THE EXERCISES ARE DIFFICULT, OR BECAUSE THEY'RE TIME-CONSUMING. It's lengthy because the assignments are extremely detailed, explanatory, and comprehensive, often giving you step-by-step instructions on what to do.
For those taking the summer course, there is also a guide on how to use git to hand in your assignments called Examination Help - How to use Git for Hand-ins provided.
If you encounter any issues or think the workload might be too much, please make yourself heard on Slack!